Real time digital oscilloscopes operate by digitizing closely spaced consecutively sampled values of an applied waveform, storing the digital values in a memory, and then re-constructing the waveform as a displayable image (the xe2x80x9ctracexe2x80x9d) on a raster-scanned CRT by reading and processing the stored values. We shall call the stored digital values an xe2x80x9cacquisition recordxe2x80x9d and note that its contents correspond to a definite time interval in the history of a signal""s behavior. The length of that time interval is largely determined by the number of addressable memory locations devoted to a signal""s acquisition (the memory""s xe2x80x9cdepthxe2x80x9d) and the rate at which the samples are acquired. That sample rate will be high enough to meet Nyquist sampling and bandwidth requirements, but is in all probability not high enough to directly produce a satisfactory reproduction of the waveformn, even though it does determine what that reproduction ought to look like. Accordingly, it is conventional to xe2x80x9cfill-inxe2x80x9d the xe2x80x9cmissingxe2x80x9d samples before all or some portion of the acquisition record is used, by sending the portion of interest through an interpolation filter before being used by other mechanisms.
It often happens that the acquisition record contains many times more digitized signal data than is displayed at any one time, allowing the operator to select as the displayed trace a size (degree of zoom) and location (panning) of a subset of the acquisition record. To support panning and zooming, and because the sampled values generally have an arbitrary relationship to the horizontal pixel positions in the display, the digitized data stored in the acquisition record is algorithmically processed (xe2x80x9crenderedxe2x80x9d) to produce a graphics image in a frame buffer, from whence is created a raster-scanned display of quite modest scan line rates (as things go for CRTs). That is, the trace is not written immediately while the variations in its corresponding input signal are occurring. Only the taking of the samples is performed in real time, and once they are stored the raster-scanned display is a low speed representation of what the ""scope remembers having sampled. As mentioned, those sampled values in the acquisition record that correspond to the displayed trace are not necessarily the same in number as the number of horizontal pixel positions in the display, and digital signal processing techniques are commonly used to produce equivalent Y amplitude values that most probably would have been measured, had there been true alignment between the consecutive samples and the horizontal pixel positions. This rendering operation is essentially a process of interpolation.
Furthermore, the vast majority of oscillographic activities require that the displayed portion of the acquisition record be in some xe2x80x9cdefined relationxe2x80x9d to a detected event originating outside the ""scope, whether that is a particular type of signal condition or transition occurring in the signal being measured, or a condition or transition in some other signal that is merely related to the signal being measured. The detection and operational response to this xe2x80x9cdefined relationxe2x80x9d is called triggering; in the first case it is termed xe2x80x9cinternalxe2x80x9d triggering, and xe2x80x9cexternalxe2x80x9d triggering in the second.
The term xe2x80x9creal timexe2x80x9d sampling is generally applied to the manner of digital oscilloscope operation described above. There is another mode of operation where a repetitive waveform cannot be densely sampled within a single instance thereof, but one (or perhaps more) samples can be obtained. For example, if the locations of those samples are allowed to xe2x80x9cdrift acrossxe2x80x9d the waveform during successive instances thereof, enough samples can eventually be accumulated that a faithful reproduction of the waveform is obtained. (Provided, of course, that the waveform is repetitive, and that the trigger circuit re-triggers each time at the same relative location upon the successive instances of the waveform. The xe2x80x9cdriftxe2x80x9d is then a precession relative to the trigger.) The old analog sampling oscilloscopes used this general technique (although they did not digitize and store values in a memory). We shall refer to the technique of digital oscilloscope operation that uses precession of samples relative to the trigger as one that practices xe2x80x9cequivalent timexe2x80x9d sampling. There is another equivalent time sampling technique that uses random sampling. It will be appreciated that the various manufacturers each have their own lexicography, and that there are many operational properties (and their associated descriptive terms) that arc reflections of differing internal architectures. We have chosen hereto use a particular division of the world of digital oscilloscopes into xe2x80x9creal timexe2x80x9d and xe2x80x9cequivalent timexe2x80x9d sampling, as defined above, because it is appropriate for the description that follows. It is believed that there is no significant inconsistency between our definitions and any of those promoted in the prior art. Accordingly, what follows herein should be understood according to our above definitions.
There are several useful modes of operation in connection with triggering, some of which deal with how to detect the trigger condition, and some of which deal with what to do once the trigger condition has been detected. In one (what-to-do) mode, the occurrence of the trigger indicates that thenceforth the acquisition record will be filled (or re-filled if it already has data in it) until one acquisition record""s worth of subsequent data has been stored, and then the measurement ended. In another mode, some fractional portion of the acquisition is subsequently filled (the usual assumption being that the preceding portion has already got data), whereupon the measurement is ended. At the other extreme, the occurrence of the trigger can immediately end the storing of samples into the acquisition record.
The entire acquisition record can then be displayed, if desired. More typically, some selected subset of the acquisition record is displayed as the trace, beginning at some selected offset from that location in the acquisition record that corresponds to the occurrence of the trigger. That allows panning and zooming, which means that the location in the acquisition record corresponding to the trigger may or may not be a part of the displayed portion of the trace. If the trigger location is included in the visible portion of the acquisition record, then it is customary to indicate its location in the trace with some stylized indicia. (The algorithmic rendering mentioned above undertakes this annotation task, along with displaying a graticule, time per division indica and volts per division indicia, etc., by the inclusion of suitable visible pixels into the frame buffer.) The displayed and annotated trace may thus represent waveform activity that preceded the trigger, occurred after the trigger, or some combination of the two.
An aspect of real time digital ""scope operation that is of interest concerns how often a completed acquisition record is used to create a new displayed trace. In one case, a real time ""scope may capture, in just one instance of an event of interest, a complete description of that event and then display it indefinitely, regardless of what occurs next in the waveform. This is usually termed xe2x80x9csingle shotxe2x80x9d operation. In another mode of operation, say, for a repetitive waveform such as a modulated sine wave, the acquisition record may be obtained, a portion rendered for display, and while that portion is being displayed for some brief period of time, a new acquisition record is triggered and taken, and then similarly rendered and displayed, etc. This amounts to a free-running, or xe2x80x9cnormalxe2x80x9d mode of operation. The various manufacturers of digital ""scopes each have their own favorite terminology . . . ) This mode of operation allows the presence of variations in the waveforn to be observed.
Central to all that has been mentioned to this point is the notion of triggering. The ability to trigger on an event of interest allows the single shot mode of operation to produce a single acquisition record that contains some event of interest Likewise, when viewing a recurrent waveform in the xe2x80x9cnormalxe2x80x9d mode, triggering is what allows the trace to xe2x80x9cstand stillxe2x80x9d for viewing. Should the detection of the trigger condition occur at slightly varying times relative to the actual event to which it is supposed to correspond (which might be, say, an abruptly rising edge or simply a crossing of a threshold in a selected direction), then the trace will not stand still, but will appear to slide back and forth along the time axis by the amount of variation. The variation in the appearance of the trace that can be traced to such instability is called trigger jitter.
In what follows, we shall be principally interested in real time digital oscilloscopes, operated in the normal mode and with an internal trigger. As ""scopes have gotten better, and as signal speeds have gotten faster, what were previously regarded as minor variations in the performance of the trigger circuitry have become an issue in their own right. Trigger jitter can be generally be observed for any sufficiently fast repetitive signal. It arises out of the (inevitable and unavoidable) trigger delay between: (a) when the trigger condition in the signal being measured actually occurs; and, (b) when an internal trigger signal indicative of that condition becomes available and is subsequently used within the ""scope. If the delay from (a) to (b) is always the same, then there is no trigger jitter, even though the slight trigger delay manifests itself as some constant offset. Alas, there are several pernicious causes for trigger jitter that are hard to eliminate. It is essentially a problem in precision circuit behavior. The bottom line is that various circuit parameters will drift, especially as function of temperature, and circuits, especially threshold circuits, are susceptible to noise.
There is yet one more background topic of interest concerning triggering. It will be appreciated that the triggering event is under no obligation to occur in simultaneity with a taking of a sample, Note that the acquisition record amounts to a time axis along which are placed the various real time samples. What is done for each trigger event, then, is to take note of some time difference between that trigger event and some cardinal aspect of the time axis for the samples. Say, the trigger falls between sample numbers n and n+1. Then it is useful to note that the trigger occurred r-many picoseconds after sample number n, or s-many picoseconds before sample number n+1. This is an established technique that generally goes by the name xe2x80x9ctrigger interpolationxe2x80x9d (the alternative to which is to simply assign the trigger event to one of the two samples). There may be some jitter in successive trigger interpolation values themselves during a free running display of the trace, although it is generally less than the sample-to-sample interval. Nevertheless, as a process conditioned upon the triggering process generally, jitter in the trigger interpolation values will manifest itself as an additional source of trigger jitter in the displayed trace for a sequence of consecutive acquisition sample records.
The result is that, in a conventional real time digital oscilloscope, consecutive acquisition sample records are misaligned from one another by the amount of overall trigger jitter, which is clearly visible in the normal mode trace for a sufficiently fast repetitive input signal.
Various solutions to the problems of horizontal jitter in digital oscilloscopes have been proposed: see, for example, U.S. Pat. 5,352,976 and 4,843,309. Nevertheless, there continues to be a need for a low cost and effective way of removing trigger jitter from the internally triggered trace of a real time digital oscilloscope. What to do?
Trigger jitter in an internally triggered real time digital oscilloscope can be reduced through replacing or correcting the trigger interpolation value obtained from a conventional trigger interpolation mechanism by an amount learned from an inspection of the acquisition record that notes where in the acquisition record the signal actually crossed the trigger threshold. The display(and measurement) sub-systems that utilize the selection by panning and zooming of a portion of the acquisition record for viewing (and measurement) are conventionally supplied with: (a) the acquisition record portion of interest, as well as with; (b) an associated horizontal position value that originates with the trigger interpolation value and is subsequently modified by panning. When trigger jitter occurs it begins as a different value (varying error) in that horizontal position value for each different acquisition record, and then manifests itself visually by each rendered display being shifted a different amount along the time axis. After the trigger circuit detects the trigger condition for a new acquisition record, the voltage threshold for the trigger level in use by the trigger circuit can be compared to the region proximate the trigger location in the acquisition record to xe2x80x9cdetermine by inspectionxe2x80x9d (by further local interpolation) the precise location in the acquisition record where the triggering event should have occurred. This allows the determination of a correct amount for the trigger interpolation value, and that is free of jitter. Actual display of the desired portion of each new acquisition record (which may or may not include the trigger location) then proceeds by supplying to the display rendering system an associated horizontal position value that incorporates the corrected trigger interpolation value associated with that new acquisition record. The proper or corrected trigger event location can be determined by such inspection to a resolution of the nearest horizontal pixel location, or to an even greater resolution, if desired. This reduction in trigger jitter is beneficial to measurements made on the displayed trace, as well as to the simple appearance of the trace, and is also effective against drift in the trigger circuitry.